var _menus ;

var tabObject = new Object();
$(function(){
	closePwd();
	$.ajax({
		url:getAppPath()+'/com/getNav.action',
		cache:false,
		success:function(data){
			if(data.menus){
				_menus = data;
				InitLeftMenu();
				tabClose();
				tabCloseEven();
			}
		}
	});	
	openPwd();
    $('#editpass').click(function() {
           $('#updatePassWindow').window('open');
    });
    $('#btnEp').click(function() {
           setPass();
    });
	$('#btnCancel').click(function(){closePwd();});
	$('#loginOut').click(function() {
	    $.messager.confirm('提示信息', '您确定要退出本次登录吗?', function(r) {
	        if (r) {
	            location.href = appPath+'/webcom/doLogout.action';
	        }
	    });
	});
	$('#colNorth').click(function(){
		$(document.body).layout("panel","north").panel("options").onCollapse=function(){
			$("#northTitleId").html("鹿图旅游语音播报平台");
		};
		$(document.body).layout("panel","north").panel("options").onExpand=function(){
			$("#northTitleId").html("&nbsp;");
		};
		$(document.body).layout("collapse","north");
	});
	$('#newWindow').click(function(){
		var pp = $('#tabs').tabs('getSelected');
		var tabPanelTitle = pp.panel('options').title;
    	var tabUrl = tabObject[tabPanelTitle+"_url"];
    	if(tabUrl){
			var win = window.open(tabUrl);
			win.onload = function(){
        		win.document.title = tabPanelTitle;
			};
    	}
	});
});

//初始化左侧
function InitLeftMenu() {
	$("#nav").accordion({animate:false});
	
	if(_menus.menus){
	    $.each(_menus.menus, function(i, n) {
			var menulist ='';
			menulist +='<ul>';
			if(n.menus){
		        $.each(n.menus, function(j, o) {
					menulist += '<li>' +
									'<div>' +
										'<a ref="'+o.menuid+'" rel="' + o.url + '" icon="'+o.icon+'" hasThird="'+o.hasThird+'">' +
												'<span class="icon '+o.icon+'" >&nbsp;</span>' +
												'<span class="nav">' + o.menuname + '</span>' +
										'</a>';
										if(o.menus){
											var hoverMenuList = "<div id='"+o.menuid+"_hoverDiv' class='CategoryTree' style='display:none'><ul>";
											$.each(o.menus,function(t,h){
												hoverMenuList += "<li><a ref="+h.menuid+" rel="+h.url+"><span>"+h.menuname+"</span></a></li>";
											});
											hoverMenuList += "</ul></div>";
											$("body").append(hoverMenuList);
										}
					menulist +=	'</div></li> ';
		        });
			}
			menulist += '</ul>';
	
			$('#nav').accordion('add', {
	            title: n.menuname,
	            content: menulist,
	            iconCls: 'icon ' + n.icon
	        });
	
	    });
	}
	$('.accordion-header').click(function(){
		$(".CategoryTree").hide();
	});
	$('.easyui-accordion li a').click(function(){

		var tabTitle = $(this).children('.nav').text();
		var url = getAppPath()+$(this).attr("rel");
		var menuid = $(this).attr("ref");
		var icon = getIcon(menuid,icon);

		$(".CategoryTree").hide();
		
		if($(this).attr("hasThird") == "1"){
			var gram = $(this).parent().parent();
			var left = gram.offset().left + gram.width()+5;
			var top = gram.offset().top;
			var hoverId = menuid+"_hoverDiv"; 
			$("#"+hoverId).css("margin-left",left);
			$("#"+hoverId).css("margin-top",top);
			$("#"+hoverId).show();
			$("#"+hoverId+" li a").click(function(){
				addTab(tabTitle+"."+$(this).text(),getAppPath()+'/'+$(this).attr("rel"),icon,'',menuid);
				$("#"+hoverId).hide();
			});
		}else{
			addTab(tabTitle,url,icon,'',menuid);
		}
		$('.easyui-accordion li div').removeClass("selected");
		$(this).parent().addClass("selected");
	}).hover(function(){
		$(this).parent().addClass("hover");
	},function(){
		$(this).parent().removeClass("hover");
	});

	var panels = $('#nav').accordion('panels');
	var idx = 0;// 默认选中第一组
	if(panels.length>=3){
		idx = 2;
	}
	var t = panels[idx].panel('options').title;
    $('#nav').accordion('select', t);
}
//获取左侧导航的图标
function getIcon(menuid){
	var icon = 'icon ';
	$.each(_menus.menus, function(i, n) {
		 $.each(n.menus, function(j, o) {
		 	if(o.menuid==menuid){
				icon += o.icon;
			}
		 });
	});

	return icon;
}

function addTab(subtitle,url,icon,isRefresh,menuid){
	if(!$('#tabs').tabs('exists',subtitle)){
		$('#tabs').tabs('add',{
			title:subtitle,
			content:createFrame(url,menuid),
			closable:true,
			icon:icon
		});
	}else{
		if(typeof(isRefresh)=='boolean' && isRefresh){//判断是否在已经打开的方式下刷新内容
			$('#tabs').tabs('update',{tab:$('#tabs').tabs('getTab',subtitle),options:{content:createFrame(url,menuid)}});
		}
		$('#tabs').tabs('select',subtitle);
		$('#mm-tabupdate').click();
	}
	tabObject["frame_"+menuid] = subtitle;
	tabObject[subtitle+"_url"] = url;
	tabClose();
}

function createFrame(url,menuid){
	if(typeof(menuid) != "undefined"){
		return '<iframe scrolling="auto" frameborder="0" id="frame_'+menuid+'" name="frame_'+menuid+'" src="'+url+'" style="width:100%;height:100%;"></iframe>';
	}else{
		return '<iframe scrolling="auto" frameborder="0"  src="'+url+'" style="width:100%;height:100%;"></iframe>';
	}
}


function tabClose()
{
	/*双击关闭TAB选项卡*/
	$(".tabs-inner").dblclick(function(){
		var subtitle = $(this).children(".tabs-closable").text();
		$('#tabs').tabs('close',subtitle);
	});
	/*为选项卡绑定右键*/
	$(".tabs-inner").bind('contextmenu',function(e){
		e.preventDefault();
		if($(this).children(".tabs-title").text()!="欢迎使用"){
			$('#mm').menu('show', {
				left: e.pageX,
				top: e.pageY
			});
		}

		var subtitle =$(this).children(".tabs-closable").text();

		$('#mm').data("currtab",subtitle);
		$('#tabs').tabs('select',subtitle);
		return false;
	});
}

function closeSubTab(subtitle){
	$('#tabs').tabs('close',subtitle);
}


//绑定右键菜单事件
function tabCloseEven()
{
	//刷新
	$('#mm-tabupdate').click(function(){
		var currTab = $('#tabs').tabs('getSelected');
		var url = $(currTab.panel('options').content).attr('src');
		$('#tabs').tabs('update',{
			tab:currTab,
			options:{
				content:createFrame(url)
			}
		});
	});
	//关闭当前
	$('#mm-tabclose').click(function(){
		var currtab_title = $('#mm').data("currtab");
		if(currtab_title!="欢迎使用")
		$('#tabs').tabs('close',currtab_title);
	});
	//全部关闭
	$('#mm-tabcloseall').click(function(){
		$('.tabs-inner span').each(function(i,n){
			var t = $(n).text();
			if(t!="欢迎使用")
			$('#tabs').tabs('close',t);
		});
	});
	//关闭除当前之外的TAB
	$('#mm-tabcloseother').click(function(){
		$('#mm-tabcloseright').click();
		$('#mm-tabcloseleft').click();
	});
	//关闭当前右侧的TAB
	$('#mm-tabcloseright').click(function(){
		var nextall = $('.tabs-selected').nextAll();
		if(nextall.length==0){
			return false;
		}
		nextall.each(function(i,n){
			var t=$('a:eq(0) span',$(n)).text();
			if(t!="欢迎使用")
			$('#tabs').tabs('close',t);
		});
		return false;
	});
	//关闭当前左侧的TAB
	$('#mm-tabcloseleft').click(function(){
		var prevall = $('.tabs-selected').prevAll();
		if(prevall.length==0){
			return false;
		}
		prevall.each(function(i,n){
			var t=$('a:eq(0) span',$(n)).text();
			if(t!="欢迎使用")
			$('#tabs').tabs('close',t);
		});
		return false;
	});

	//退出
	$("#mm-exit").click(function(){
		$('#mm').menu('hide');
	});
}

//弹出信息窗口 title:标题 msgString:提示信息 msgType:信息类型 [error,info,question,warning]
function msgShow(title, msgString, msgType) {
	$.messager.alert(title, msgString, msgType);
}

//关闭修改密码窗口
function closePwd() {
    $('#updatePassWindow').window('close');
}

function openPwd() {
    $('#updatePassWindow').window({
        title: '修改密码',
        modal: true,
        shadow: true,
        closed: true,
        resizable:false
    });
}

function setPass() {
	if(!$('#setPassForm').form('validate')){
		return ;
	}
    var $newpass = $('#txtNewPass');
    var $rePass = $('#txtRePass');

    if ($newpass.val() != $rePass.val()) {
        msgShow('提示信息', '两次密码不一至！请重新输入', 'warning');
        return false;
    }

    $.ajax({
    	url:getAppPath()+'/system/user_updatePassWord.do',
    	data:{newPass:$rePass.val()},
    	type:'post',
    	complete:function(jqXHR, textStatus){
			$newpass.val('');
        	$rePass.val('');
        	closePwd();
    	},
    	success:function(data){
			if(data!='ok'){
				if(data == 'notFind'){
					$.messager.alert('提示信息','该用户不存在！','info');
				}else{
					$.messager.alert('提示信息','抱歉，密码设置未能完成 : '+data,'error');	
				}
			}else{
				$.messager.alert('提示信息','密码设置成功！','info');
			}
		},
		error:function(XMLHttpRequest, textStatus, errorThrown){
			$.messager.alert('提示信息','抱歉，密码设置未能完成 : '+textStatus,'error');
		}
    });
}

